X-Git-Url: https://git.r.bdr.sh/rbdr/super-polarity/blobdiff_plain/63a61ee2be3a902c27cd000d41b1a3a0280be21a..74c155708d85abfc2cf227c08de4f27003015b3f:/Super%20Polarity/SuperPolarity.cs diff --git a/Super Polarity/SuperPolarity.cs b/Super Polarity/SuperPolarity.cs index 40f1477..6689167 100644 --- a/Super Polarity/SuperPolarity.cs +++ b/Super Polarity/SuperPolarity.cs @@ -17,16 +17,33 @@ namespace SuperPolarity /// public class SuperPolarity : Game { - GraphicsDeviceManager graphics; + public GraphicsDeviceManager graphics; SpriteBatch spriteBatch; - MainShip player; + public static int OutlierBounds; + + public Player Player; + + Screen EntryScreen; + + SpriteFont DebugFont; public SuperPolarity() : base() { graphics = new GraphicsDeviceManager(this); + graphics.PreferMultiSampling = true; + graphics.PreferredBackBufferWidth = 1280; + graphics.PreferredBackBufferHeight = 720; + graphics.ToggleFullScreen(); + Content.RootDirectory = "Content"; + ActorFactory.SetGame(this); + ParticleEffectFactory.SetGame(this); + ActorManager.SetGame(this); + ScreenManager.SetGame(this); + + EntryScreen = (Screen)new GameScreen(this); } /// @@ -37,9 +54,21 @@ namespace SuperPolarity /// protected override void Initialize() { - player = new MainShip(); - base.Initialize(); + + InputController.RegisterEventForKey("fullScreenToggle", Keys.F11); + InputController.Bind("fullScreenToggle", HandleFullScreenToggle); + + EntryScreen.Initialize(); + ScreenManager.Push(EntryScreen); + + OutlierBounds = 100; + } + + protected void HandleFullScreenToggle(float value) + { + graphics.ToggleFullScreen(); + graphics.ApplyChanges(); } /// @@ -51,9 +80,10 @@ namespace SuperPolarity // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); - Vector2 playerPosition = new Vector2(GraphicsDevice.Viewport.TitleSafeArea.X, GraphicsDevice.Viewport.TitleSafeArea.Y + GraphicsDevice.Viewport.TitleSafeArea.Height / 2); + EntryScreen.LoadContent(); - player.Initialize(Content.Load("Graphics\\player"), playerPosition); + Player = new Player(); + DebugFont = Content.Load("Fonts\\SegoeUIMono14"); } /// @@ -75,7 +105,7 @@ namespace SuperPolarity if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) Exit(); - // TODO: Add your update logic here + ScreenManager.Update(gameTime); base.Update(gameTime); } @@ -86,11 +116,15 @@ namespace SuperPolarity /// Provides a snapshot of timing values. protected override void Draw(GameTime gameTime) { - GraphicsDevice.Clear(Color.CornflowerBlue); + GraphicsDevice.Clear(Color.White); spriteBatch.Begin(); - player.Draw(spriteBatch); + ScreenManager.Draw(spriteBatch); + + spriteBatch.DrawString(DebugFont, "Score: " + Player.Score.ToString(), new Vector2(10, 10), Color.LightGray); + spriteBatch.DrawString(DebugFont, "Multiplier: " + Player.Multiplier.ToString(), new Vector2(10, 30), Color.LightGray); + spriteBatch.DrawString(DebugFont, "Lives: " + Player.Lives.ToString(), new Vector2(10, 50), Color.LightGray); spriteBatch.End();